
#1 打印 'Hello, World!'
# print("Hello, World!")


#2 计算两个数字的和
# a,b=100,10
# c=a+b
# print("c=",c)


#3 交换两个变量的值的技巧

# a,b=100,10
# print(f"a={a},b={b}")
# #方法一使用第三个变量
# def swap(a,b):
#     return b,a
# a,b=swap(a,b)
# print(f"a={a},b={b}")

# #使用原生的元组解包的方法
# x=1000
# y=10

# print(f"x={x},y={y}")

# x,y=y,x
# print(f"x={x},y={y}")



#4 判断一个数是否是偶数 (条件判断)

# def Check(x):
#     return int(x) % 2 == 0
# x=input("请输入需要判断的数字:") 
# if Check(x):
#     print("这是一个很完美的偶数")
# else:
#     print("这是一个很不完美的奇数")


#5 打印斐波那契数列 (循环或递归，考察序列生成)
# def Fib(x):
#     fib_nums=[]
#     if(x < 0):
#         print("请输入一个正整数")
#     elif(x < 2):
#         while(x): 
#             fib_nums.append(x-1)
#             x-=1
#     else: 
#         #说明大于2所有
#         a,b=0,1
#         fib_nums.append(a)
#         fib_nums.append(b)
#         for i in range(2,x):
#             a,b=b,a+b
#             fib_nums.append(b)
#     return fib_nums



# x=int(input("请输入需要打印的数列的项数"))
# print(Fib(x))



#6 计算给定数字的阶乘 (循环或递归)
# def factorial(x):
#     sum=1
#     if(x < 0):
#         print("请输入一个正整数")
#         return -1
#     else:
#         for i in range(1,x+1):
#             sum*=i
#     return sum

# x=int(input("请输入待计算的阶乘"))
# print(factorial(x))



#7 求列表中最大和最小的元素 (列表操作，内置函数)
# li=[1,2,3,4,5,1,2,3,43,25,7,8,45]
# a=max(li)
# b=min(li)
# print(f"max:{a},min:{b}")



#8 判断字符串是否为回文 (字符串操作，切片)
#方法一
# def Check(str):
#     if( len(str) <= 1):
#          return True
#     a=0
#     b=len(str)-1
#     while(a<=b):
#         if(str[a] != str[b]):
#             return False
#         a+=1
#         b-=1
#     return True

# str=input("请输入你需要判断的字符串")
# print(Check(str))    
#方法二
# def Check(str):
#     str=str.lower().replace(" ","")
#     return str == str[::-1]

# str=input("请输入你需要判断的字符串")
# print(Check(str))    





#9 计算字符串中每个字母的出现次数 (字典计数)
# def Count(str):
#     hash={}
#     if(len(str) == 0): return hash
#     for i in range(len(str)):
#         if(str[i] in hash):
#             hash[str[i]]+=1
#         else:
#             hash[str[i]]=1
#     return hash

# str=input("请输入你需要统计的字符串")
# print(Count(str))    



#10 去除字符串两端的空白字符 (字符串方法)
# def Remove(str):
#     str=str.strip()
#     return str

# str=input("请输入需要去除两端空白字符的字符串")
# print(Remove(str))


#没有对不是元音字母进行排除
#11  统计一个字符串中的元音字母数量 (字符串遍历与条件判断)a e i o u
# def Count(str):
#     str=str.lower().replace(" ","")
#     hash={'a':0,'e':0,'i':0,'o':0,'u':0}
#     for i in range(int(len(str))):
#         if str[i] in hash:
#             hash[str[i]]+=1
#     return hash


# str=input("请输入需要去统计元音字母数量的字符串")
# print(Count(str))


#11 反转一个字符串 (字符串切片或循环)
# def Reverse(str):
#     str=str[::-1]
#     return str

# #进阶按照空格进行逆序单词
# def Reverse_Words(str):
#     Words_list=str.split(" ")
#     Reverse_Words_List=Words_list[::-1]
#     return ' '.join(Reverse_Words_List)

# str=input("请输入需要逆序的字符串")
# print(Reverse_Words(str))


#12 将字符串转换为整数 (类型转换)
# while(True):
#     str=input("请输入需要转为整数的字符串")
#     try:
#         print(int(str))
#         break
#     except ValueError:
#         print("请输入数字,不能包含非数字字符")

#13 使用列表推导式生成一个列表 (Pythonic核心特性)
# li=[x**3 for x in range(100) if x % 2 == 0]
# print(li)


#14 将列表中的每个元素平方 (列表推导式或map)
# li=[x**3 for x in range(100) if x % 2 == 0]
# li=[x**2 for x in li if x % 3 != 0]
# print(li)


# #15 从字典中获取最大值 (字典操作)
# #使用zip函数快速构建一个字典
# k=[x**2 for x in range(20) if x % 3 != 0]
# print(k)
# v=[x*2 for x in range(20) if x % 2 != 0]
# print(v)

# dic={key:value for key,value in zip(v,k)}
# print(dic)

# dic=dic.values()
# X=max(dic)
# Y=min(dic)
# print(f"Max={X},Min={Y}")


#16 检查列表是否包含重复项 (集合或循环判断)
# li=[1,2,3,4,5,6,7,8,9,10,2,3]
# hash={K:0 for K in li}

# for i in li:
#     hash[i]+=1
#     if(hash[i] > 1):
#         print("列表包含重复项")
#         break
# else:
#     print("列表不包含重复项")
# print(hash)



#17 在一个列表中找到第二大的元素 (排序或遍历)
# li=[1,2,3,4,5,6,7,8,9,10,2,3]
# li=list(set(li))
# li.sort()
# print(li[len(li)-2])
# print(li)

# 18 合并两个列表为一个 (列表操作)
# k=[x**2 for x in range(20) if x % 3 != 0]
# v=[x*2 for x in range(20) if x % 2 != 0]
# # li=k+v
# # li.sort()

# li=sorted(k+v)
# print(li)

# #19 删除列表中的重复元素 (集合或循环)
# li=[1,2,3,4,5,6,7,8,9,10,2,3]
# print(li)
# li=list(set(li))
# print(li)


#20 用字符串连接列表元素 (join方法)
# k=[str(x**2) for x in range(20) if x % 3 != 0]
# s=' '.join(k)
# print(s)





